/**
 * 这里有两种数据请求方式：
 * 1、mock的时候使用axios请求
 * 2、真正上线换成腾讯云开发
 */
import axios from "axios";
import { LoadingModule } from "@/store/modules/LoadingModule";
import { isEqual } from "lodash";

/**
 * 创建axios实例
 * todo 这里可以使用父类来优化代码
 */
const service = axios.create({
  timeout: 5000
});
/**
 * request 拦截器
 */
service.interceptors.request.use(
  config => {
    LoadingModule.StartRequesting();
    return config;
  },
  error => {
    LoadingModule.StopRequesting();
    Promise.reject(error);
  }
);
/**
 * response 拦截器
 */
service.interceptors.response.use(
  response => {
    LoadingModule.StopRequesting();
    // console.log("response ", response);
    if (isEqual(response.status, 200)) {
      return response.data;
    } else {
      return Promise.reject("登陆云平台错误");
    }
  },
  error => {
    LoadingModule.StopRequesting();
    return Promise.reject(error);
  }
);

export default service;
